/* *****************************************************************************

  Copyright (C), 2023-2023, Huawei Tech. Co., Ltd.

 ******************************************************************************
  File Name     : hisec_npu_cmd.h
  Version       : Initial Draft
  Created       : 2023/8/21
  Last Modified :
  Description   : secure commands between Driver and MPU/uCode
  Function List :
***************************************************************************** */

#ifndef HISEC_NPU_CMD_H
#define HISEC_NPU_CMD_H

/** Crypto driver to NPU Commands */
typedef enum hisec_npu_cmd_type {
    HISEC_NPU_CMD_SET_IPSEC_SA,     /**< IPsec SA child context 256B @see struct tag_hisec_cmd_set_ipsec_sa */
    HISEC_NPU_CMD_SET_IPSEC_SP,     /**< IPsec Secure Policy @see struct tag_hisec_cmd_set_ipsec_sp */
    HISEC_NPU_CMD_CALC_DH,          /**< IPsec Calculate DH @see struct tag_hisec_cmd_calc_dh */
    HISEC_NPU_CMD_FLUSH_IPSEC_RES,  /**< IPsec flush resource @see struct tag_hisec_cmd_flush_ipsec_res */
    HISEC_NPU_CMD_INIT_SCQC,        /**< IPsec init scqc @see struct tag_hisec_cmd_init_scqc */
    HISEC_NPU_CMD_DEINIT_SCQC,      /**< IPsec uninit scqc @see struct tag_hisec_cmd_deinit_scqc */
    HISEC_NPU_CMD_HW_RANDOM,        /**< IPsec hardware random @see struct hisec_cmd_trng_module */

    HISEC_NPU_CMD_MAX = 255
} hisec_npu_cmd_type_e;

#endif /* HISEC_NPU_CMD_H */